Component({
  properties: {
    // 当前页码
    pageNum: {
      type: Number,
      value: 1
    },
    // 总页数
    pages: {
      type: Number,
      value: 1
    }
  },

  data: {
    inputValue: ''
  },

  methods: {
    // 上一页
    onPrevPage() {
      if (this.data.pageNum > 1) {
        this.triggerEvent('pagechange', { pageNum: this.data.pageNum - 1 });
      }
    },

    // 下一页
    onNextPage() {
      if (this.data.pageNum < this.data.pages) {
        this.triggerEvent('pagechange', { pageNum: this.data.pageNum + 1 });
      }
    },

    // 输入框输入
    onPageInput(e) {
      this.setData({
        inputValue: e.detail.value
      });
    },

    // 跳转页面
    onPageSearch() {
      const value = this.data.inputValue;
      
      // 检查是否为空
      if (!value || value.trim() === '') {
        wx.showToast({
          title: '请输入页码',
          icon: 'none'
        });
        return;
      }

      // 检查是否为数字
      if (!/^\d+$/.test(value)) {
        wx.showToast({
          title: '请输入有效的数字',
          icon: 'none'
        });
        return;
      }

      const page = parseInt(value);
      
      // 检查范围是否有效
      if (page < 1 || page > this.data.pages) {
        wx.showToast({
          title: `页码需在1-${this.data.pages}之间`,
          icon: 'none'
        });
        return;
      }

      // 触发页面变化事件
      this.triggerEvent('pagechange', { pageNum: page });
      // 清空输入框
      this.setData({
        inputValue: ''
      });
    }
  }
});